import { defineConfig } from 'vite'
import vue from '@vitejs/plugin-vue'
import { viteSriPlugin } from './src/plugins/vite-plugin-sri'
import { viteModulePreloadPlugin } from './src/plugins/vite-plugin-modulepreload'

// https://vite.dev/config/
export default defineConfig({
  plugins: [
    vue(),
    viteModulePreloadPlugin({ enabled: true }),
    viteSriPlugin({
      algorithms: ['sha384'], // 使用SHA-384算法
      includePatterns: [/\.(js|css)$/], // 包含JS和CSS文件
      excludePatterns: [] // 不排除任何文件
    })
  ],
  build: {
    // 确保生成的文件名包含哈希，便于缓存管理
    rollupOptions: {
      output: {
        // 为懒加载的chunk生成带哈希的文件名
        chunkFileNames: 'assets/[name]-[hash].js',
        entryFileNames: 'assets/[name]-[hash].js',
        assetFileNames: 'assets/[name]-[hash].[ext]'
      }
    }
  }
})
